package com.cpi.sap.webservice.xmlGenerator;

import com.cpi.sap.webservice.bean.GetTotalStockInputBean;

/**
 * Clase para generar el xml del tanque a enviar al WebService
 * @author Jos� Delgado Rodr�guez
 * @version 1.0
 * @date 20081216
 */

public class GetTotalStockGenerator {
	/** Etiquta de inicio del xml y nombre de la funcion */
	private static final String XML_INICIO = "<ZMM_GET_TOTAL_STOCK>";
	/** Etiqueta de inicio de  los parametros de entrada*/
	private static final String XML_ENTRADA_INICIO =  "<INPUT>";
	/** Etiqueta de inicio para el parametro de codigo de material*/
	private static final String XML_CODIGO_MATERIAL_INICIO = "<I_MATNR>";
	/** Etiqueta de fin para el parametro del codigo del material*/
	private static final String XML_CODIGO_MATERIAL_FIN = "</I_MATNR>";
	/** Etiqueta de inicio para el parametro del codigo de planta */
	private static final String XML_CODIGO_PLANTA_INICIO = "<I_WERKS>";
	/** Etiqueta de fin para el parametro del codigo de planta*/
	private static final String XML_CODIGO_PLANTA_FIN = "</I_WERKS>";
	/** Etiqueta de inicio para el parametro del codigo de almacen */
	private static final String XML_CODIGO_ALMACEN_INICIO = "<I_LGORT>";
	/** Etiqueta de fin para el parametro del codigo del almacen*/
	private static final String XML_CODIGO_ALMACEN_FIN = "</I_LGORT>";
	/** Etiquta de fin  para los parametros de entrada*/
	private static final String XML_ENTRADA_FIN =  "</INPUT>";
	/** Etiquta de inicio para las tablas*/
	private static final String XML_TABLAS_INICIO = "<TABLES>";
	/** Etiquta de inicio para las estructuras de respuesta*/
	private static final String XML_RESULTADO_INICIO = "<T_RETURN>";
	/** Etiquta de fin para las estructuras de respuesta*/
	private static final String XML_RESULTADO_FIN = "</T_RETURN>";
	/** Etiquta de fin para las tablas*/
	private static final String XML_TABLAS_FIN = "</TABLES>";
	/** Etiquta de fin de la funcion*/
	private static final String XML_FIN =  "</ZMM_GET_TOTAL_STOCK>";
	/**
	 * Convierte la clase TanqueBean a xml
	 * @param tanqueBean TanqueBean a convertir a xml
	 * @return String xml del tanque
	 */
	public String tanqueBeanToXML( GetTotalStockInputBean tanqueBean ){
		StringBuffer tanqueXML = new StringBuffer(0);
		tanqueXML.append(XML_INICIO);
		tanqueXML.append(XML_ENTRADA_INICIO);
		tanqueXML.append(XML_CODIGO_MATERIAL_INICIO);
		tanqueXML.append(tanqueBean.getCodigoMaterial());
		tanqueXML.append(XML_CODIGO_MATERIAL_FIN);
		tanqueXML.append(XML_CODIGO_PLANTA_INICIO);
		tanqueXML.append(tanqueBean.getCodigoPlanta());
		tanqueXML.append(XML_CODIGO_PLANTA_FIN);
		tanqueXML.append(XML_CODIGO_ALMACEN_INICIO);
		if(null != tanqueBean.getCodigoAlmacen()){
			tanqueXML.append(tanqueBean.getCodigoAlmacen());
		}
		tanqueXML.append(XML_CODIGO_ALMACEN_FIN);
		tanqueXML.append(XML_ENTRADA_FIN);
		tanqueXML.append(XML_TABLAS_INICIO);
		tanqueXML.append(XML_RESULTADO_INICIO);
		tanqueXML.append(XML_RESULTADO_FIN);
		tanqueXML.append(XML_TABLAS_FIN);
		tanqueXML.append(XML_FIN);
		return tanqueXML.toString();
	}
}
